home *** CD-ROM | disk | FTP | other *** search
/ Internet Surfer 2.0 / Internet Surfer 2.0 (Wayzata Technology) (1996).iso / pc / text / mac / faqs.539 < prev    next >
Text File  |  1996-02-12  |  28KB  |  683 lines

  1. Frequently Asked Questions (FAQS);faqs.539
  2.  
  3.  
  4.  
  5.       You can then start up a program that will open your .plan file
  6.       for writing; the open will block until some other process (namely
  7.       fingerd) opens the .plan for reading.  Now you can whatever you
  8.       want through this pipe, which lets you show different .plan
  9.       information every time someone fingers you.
  10.  
  11.       Of course, this may not work at all if your system doesn't
  12.       support named pipes or if your local fingerd insists
  13.       on having plain .plan files.
  14.  
  15.       Your program can also take the opportunity to look at the output
  16.       of "netstat" and spot where an incoming finger connection is
  17.       coming from, but this won't get you the remote user.
  18.  
  19.       Getting the remote userid would require that the remote site be
  20.       running an identity service such as RFC 931.  There are now three
  21.       RFC 931 implementations for popular BSD machines, and several
  22.       applications (such as the wuarchive ftpd) supporting the server.
  23.       For more information join the rfc931-users mailing list,
  24.       rfc931-users-request@kramden.acf.nyu.edu.
  25.  
  26.       There are three caveats relating to this answer.  The first is
  27.       that many NFS systems won't recognize the named pipe correctly.
  28.       This means that trying to read the pipe on another machine will
  29.       either block until it times out, or see it as a zero-length file,
  30.       and never print it.
  31.  
  32.       The second problem is that on many systems, fingerd checks that
  33.       the .plan file contains data (and is readable) before trying to
  34.       read it.  This will cause remote fingers to miss your .plan file
  35.       entirely.
  36.  
  37.       The third problem is that a system that supports named pipes
  38.       usually has a fixed number of named pipes available on the
  39.       system at any given time - check the kernel config file and
  40.       FIFOCNT option.  If the number of pipes on the system exceeds the
  41.       FIFOCNT value, the system blocks new pipes until somebody frees
  42.       the resources.  The reason for this is that buffers are allocated
  43.       in a non-paged memory.
  44.  
  45. 4.10) Is it possible to reconnect a process to a terminal after it has
  46.       been disconnected, e.g. after starting a program in the background
  47.       and logging out?
  48.  
  49.       Most variants of Unix do not support "detaching" and "attaching"
  50.       processes, as operating systems such as VMS and Multics support.
  51.       However, there are two freely redistributable packages which can
  52.       be used to start processes in such a way that they can be later
  53.       reattached to a terminal.
  54.  
  55.       The first is "screen," which is described in the
  56.       comp.sources.unix archives as "Screen, multiple windows on a CRT"
  57.       (see the "screen-3.2" package in comp.sources.misc, volume 28.)
  58.       This package will run on at least BSD, System V r3.2 and SCO UNIX.
  59.  
  60.       The second is "pty," which is described in the comp.sources.unix
  61.       archives as a package to "Run a program under a pty session" (see
  62.       "pty" in volume 23).  pty is designed for use under BSD-like
  63.       system only.
  64.  
  65.       Neither of these packages is retroactive, i.e. you must have
  66.       started a process under screen or pty in order to be able to
  67.       detach and reattach it.
  68.  
  69. 4.11) Is it possible to "spy" on a terminal, displaying the output
  70.       that's appearing on it on another terminal?
  71.  
  72.       There are a few different ways you can do this, although none
  73.       of them is perfect:
  74.  
  75.       * kibitz allows two (or more) people to interact with a shell
  76.         (or any arbitary program).  Uses include:
  77.  
  78.     - watching or aiding another person's terminal session;
  79.     - recording a conversation while retaining the ability to
  80.       scroll backwards, save the conversation, or even edit it
  81.       while in progress;
  82.     - teaming up on games, document editing, or other cooperative
  83.       tasks where each person has strengths and weakness that
  84.       complement one another.
  85.  
  86.         kibitz comes as part of the expect distribution.  See question 3.9.
  87.  
  88.         kibitz requires permission from the person to be spyed upon.  To
  89.         spy without permission requires less pleasant approaches:
  90.  
  91.       * You can write a program that grovels through Kernel structures
  92.         and watches the output buffer for the terminal in question,
  93.         displaying characters as they are output.  This, obviously, is
  94.         not something that should be attempted by anyone who does not
  95.         have experience working with the Unix kernel.  Furthermore,
  96.         whatever method you come up with will probably be quite
  97.         non-portable.
  98.  
  99.       * If you want to do this to a particular hard-wired terminal all
  100.         the time (e.g. if you want operators to be able to check the
  101.         console terminal of a machine from other machines), you can
  102.         actually splice a monitor into the cable for the terminal.  For
  103.         example, plug the monitor output into another machine's serial
  104.         port, and run a program on that port that stores its input
  105.         somewhere and then transmits it out *another* port, this one
  106.         really going to the physical terminal.  If you do this, you have
  107.         to make sure that any output from the terminal is transmitted
  108.         back over the wire, although if you splice only into the
  109.         computer->terminal wires, this isn't much of a problem.  This is
  110.         not something that should be attempted by anyone who is not very
  111.         familiar with terminal wiring and such.
  112.  
  113. --
  114. Ted Timar - tmatimar@empress.com
  115. Empress Software, 3100 Steeles Ave E, Markham, Ont., Canada L3R 8T3
  116. Xref: bloom-picayune.mit.edu comp.unix.questions:51332 comp.unix.shell:8338 news.answers:4774
  117. Path: bloom-picayune.mit.edu!senator-bedfellow.mit.edu!senator-bedfellow.mit.edu!usenet
  118. From: tmatimar@empress.com (Ted M A Timar)
  119. Newsgroups: comp.unix.questions,comp.unix.shell,news.answers
  120. Subject: Unix - Frequently Asked Questions (5/7) [Frequent posting]
  121. Supersedes: <unix-faq/faq/part5_723967331@athena.mit.edu>
  122. Followup-To: comp.unix.questions
  123. Date: 24 Dec 1992 06:02:56 GMT
  124. Organization: Empress Software
  125. Lines: 230
  126. Approved: news-answers-request@MIT.Edu
  127. Distribution: world
  128. Expires: 21 Jan 1993 06:02:09 GMT
  129. Message-ID: <unix-faq/faq/part5_725176929@athena.mit.edu>
  130. References: <unix-faq/faq/contents_725176929@athena.mit.edu>
  131. NNTP-Posting-Host: pit-manager.mit.edu
  132. X-Last-Updated: 1992/12/09
  133.  
  134. Archive-name: unix-faq/faq/part5
  135. Version: $Id: part5,v 2.1 92/12/04 07:43:55 tmatimar Exp $
  136.  
  137. These seven articles contain the answers to some Frequently Asked
  138. Questions often seen in comp.unix.questions and comp.unix.shell.
  139. Please don't ask these questions again, they've been answered plenty
  140. of times already - and please don't flame someone just because they may
  141. not have read this particular posting.  Thank you.
  142.  
  143. These articles are divided approximately as follows:
  144.  
  145.       1.*) General questions.
  146.       2.*) Relatively basic questions, likely to be asked by beginners.
  147.       3.*) Intermediate questions.
  148.       4.*) Advanced questions, likely to be asked by people who thought
  149.        they already knew all of the answers.
  150.       5.*) Questions pertaining to the various shells, and the differences.
  151.       6.*) An overview of Unix variants.
  152.       7.*) An comparison of configuration management systems (RCS, SCCS).
  153.  
  154. This article includes answers to:
  155.  
  156.       5.1)  Can shells be classified into categories?
  157.       5.2)  How do I "include" one shell script from within another
  158.             shell script?
  159.       5.3)  Do all shells have aliases?  Is there something else that
  160.             can be used?
  161.       5.4)  How are shell variables assigned?
  162.       5.5)  How can I tell if I am running an interactive shell?
  163.       5.6)  What "dot" files do the various shells use?
  164.       5.7)  I would like to know more about the differences between the
  165.             various shells.  Is this information available some place?
  166.  
  167. If you're looking for the answer to, say, question 5.5, and want to skip
  168. everything else, you can search ahead for the regular expression "^5.5)".
  169.  
  170. While these are all legitimate questions, they seem to crop up in
  171. comp.unix.questions or comp.unix.shell on an annual basis, usually
  172. followed by plenty of replies (only some of which are correct) and then
  173. a period of griping about how the same questions keep coming up.  You
  174. may also like to read the monthly article "Answers to Frequently Asked
  175. Questions" in the newsgroup "news.announce.newusers", which will tell
  176. you what "UNIX" stands for.
  177.  
  178. With the variety of Unix systems in the world, it's hard to guarantee
  179. that these answers will work everywhere.  Read your local manual pages
  180. before trying anything suggested here.  If you have suggestions or
  181. corrections for any of these answers, please send them to to
  182. tmatimar@empress.com.
  183.  
  184. 5.1)  Can shells be classified into categories?
  185.  
  186.       From: wicks@dcdmjw.fnal.gov (Matthew Wicks)
  187.       Date: Wed, 7 Oct 92 14:28:18 -0500
  188.  
  189.       In general there are two main class of shells.  The first class
  190.       are those shells derived from the Bourne shell which includes sh,
  191.       ksh, bash, and zsh.  The second class are those shells derived
  192.       from C shell and include csh and tcsh.  In addition there is rc
  193.       which most people consider to be in a "class by itself" although
  194.       some people might argue that rc belongs in the Bourne shell class.
  195.  
  196.       With the classification above, using care, it is possible to
  197.       write scripts that will work for all the shells from the Bourne
  198.       shell category, and write other scripts that will work for all of
  199.       the shells from the C shell category.
  200.  
  201. 5.2)  How do I "include" one shell script from within another shell script?
  202.  
  203.       From: wicks@dcdmjw.fnal.gov (Matthew Wicks)
  204.       Date: Wed, 7 Oct 92 14:28:18 -0500
  205.  
  206.       All of the shells from the Bourne shell category (including rc)
  207.       use the "." command.  All of the shells from the C shell category
  208.       use "source".
  209.  
  210. 5.3)  Do all shells have aliases?  Is there something else that can be used?
  211.  
  212.       From: wicks@dcdmjw.fnal.gov (Matthew Wicks)
  213.       Date: Wed, 7 Oct 92 14:28:18 -0500
  214.  
  215.       All of the major shells other than sh have aliases, but they
  216.       don't all work the same way.  For example, some don't accept
  217.       arguments.
  218.  
  219.       Although not strictly equivalent, shell functions (which exist in
  220.       all shells from the Bourne shell category) have almost the same
  221.       functionality of aliases.  Shell functions can do things that
  222.       aliases can't do.
  223.  
  224.       Use unalias to remove aliases and unset to remove functions.
  225.  
  226. 5.4)  How are shell variables assigned?
  227.  
  228.       From: wicks@dcdmjw.fnal.gov (Matthew Wicks)
  229.       Date: Wed, 7 Oct 92 14:28:18 -0500
  230.  
  231.       The shells from the C shell category use "set variable=value" for
  232.       variables local to the shell and "setenv variable value" for
  233.       environment variables.  To get rid of variables in these shells
  234.       use unset and unsetenv.  The shells from the Bourne shell
  235.       category use "variable=value" and may require an "export
  236.       VARIABLE_NAME" to place the variable into the environment.  To
  237.       get rid of the variables use unset.
  238.  
  239. 5.5)  How can I tell if I am running an interactive shell?
  240.  
  241.       From: wicks@dcdmjw.fnal.gov (Matthew Wicks)
  242.       From: dws@ssec.wisc.edu (DaviD W. Sanderson)
  243.       Date: Fri, 23 Oct 92 11:59:19 -0600
  244.  
  245.       In the C shell category, look for the variable $prompt.
  246.  
  247.       In the Bourne shell category, you can look for the variable $PS1,
  248.       however, it is better to check the variable $-.  If $- contains
  249.       an 'i', the shell is interactive.  Test like so:
  250.  
  251.       case $- in
  252.       *i*)    # do things for interactive shell
  253.               ;;
  254.       *)      # do things for non-interactive shell
  255.               ;;
  256.       esac
  257.  
  258. 5.6)  What "dot" files do the various shells use?
  259.  
  260.       From: wicks@dcdmjw.fnal.gov (Matthew Wicks)
  261.       From: tmb@idiap.ch (Thomas M. Breuel)
  262.       Date: Wed, 28 Oct 92 03:30:36 +0100
  263.  
  264.       Although this may not be a complete listing, this provides the
  265.       majority of information.
  266.  
  267.       csh
  268.       Some versions have system-wide .cshrc and .login files.  Every
  269.       version puts them in different places.
  270.  
  271.       Start-up (in this order):
  272.           .cshrc   - always.
  273.           .login   - login shells.
  274.  
  275.       Upon termination:
  276.               .logout  - login shells.
  277.  
  278.       Others:
  279.           .history - saves the history (based on $savehist).
  280.  
  281.       tcsh
  282.       Start-up (in this order):
  283.           /etc/csh.cshrc - always.
  284.           /etc/csh.login - login shells.
  285.           .tcshrc        - always.
  286.           .cshrc         - if no .tcshrc was present.
  287.           .login         - login shells
  288.  
  289.       Upon termination:
  290.               .logout        - login shells.
  291.  
  292.       Others:
  293.           .history       - saves the history (based on $savehist).
  294.           .cshdirs       - saves the directory stack.
  295.  
  296.       sh
  297.       Start-up (in this order):
  298.           /etc/profile - login shells.
  299.           .profile     - login shells.
  300.  
  301.       Upon termination:
  302.           any command (or script) specified using the command:
  303.          trap "command" 0
  304.  
  305.       ksh
  306.       Start-up (in this order):
  307.           /etc/profile - login shells.
  308.           .profile     - login shells.
  309.           $ENV         - always, if it is set.
  310.  
  311.       Upon termination:
  312.           any command (or script) specified using the command:
  313.          trap "command" 0
  314.  
  315.       bash
  316.       Start-up (in this order):
  317.               /etc/profile  - login shells.
  318.               .bash_profile - login shells.
  319.               .profile      - login if no .bash_profile is present.
  320.               .bashrc       - interactive non-login shells.
  321.               $ENV          - always, if it is set.
  322.  
  323.       Upon termination:
  324.               .bash_logout  - login shells.
  325.  
  326.       Others:
  327.               .inputrc      - Readline initialization.
  328.  
  329.       zsh
  330.       Start-up (in this order):
  331.               .zshenv   - always, unless -f is specified.
  332.               .zprofile - login shells.
  333.               .zshrc    - interactive shells, unless -f is specified.
  334.               .zlogin   - login shells.
  335.  
  336.       Upon termination:
  337.               .zlogout  - login shells.
  338.  
  339.       rc
  340.       Start-up:
  341.               .rcrc - login shells
  342.  
  343. 5.7)  I would like to know more about the differences between the
  344.       various shells.  Is this information available some place?
  345.  
  346.       From: wicks@dcdmjw.fnal.gov (Matthew Wicks)
  347.       Date: Wed, 7 Oct 92 14:28:18 -0500
  348.  
  349.       A very detailed comparison of sh, csh, tcsh, ksh, bash, zsh, and
  350.       rc is available via anon.  ftp in several places:
  351.  
  352.       cs.uwp.edu (131.210.1.4):pub/vi/shell-100.BetaA.Z
  353.       alf.uib.no (129.177.30.3):pub/lpf/misc/shell-100.BetaA.Z
  354.       utsun.s.u-tokyo.ac.jp (133.11.11.11):misc/vi/shell-100.BetaA.Z
  355.  
  356.       This file compares the flags, the programming syntax,
  357.       input/output redirection, and parameters/shell environment
  358.       variables.  It doesn't discuss what dot files are used and the
  359.       inheritance for environment variables and functions.
  360.  
  361. --
  362. Ted Timar - tmatimar@empress.com
  363. Empress Software, 3100 Steeles Ave E, Markham, Ont., Canada L3R 8T3
  364. Xref: bloom-picayune.mit.edu comp.unix.questions:51337 comp.unix.shell:8343 news.answers:4779
  365. Path: bloom-picayune.mit.edu!senator-bedfellow.mit.edu!senator-bedfellow.mit.edu!usenet
  366. From: tmatimar@empress.com (Ted M A Timar)
  367. Newsgroups: comp.unix.questions,comp.unix.shell,news.answers
  368. Subject: Unix - Frequently Asked Questions (6/7) [Frequent posting]
  369. Supersedes: <unix-faq/faq/part6_723967331@athena.mit.edu>
  370. Followup-To: comp.unix.questions
  371. Date: 24 Dec 1992 06:03:18 GMT
  372. Organization: Empress Software
  373. Lines: 698
  374. Approved: news-answers-request@MIT.Edu
  375. Distribution: world
  376. Expires: 21 Jan 1993 06:02:09 GMT
  377. Message-ID: <unix-faq/faq/part6_725176929@athena.mit.edu>
  378. References: <unix-faq/faq/contents_725176929@athena.mit.edu>
  379. NNTP-Posting-Host: pit-manager.mit.edu
  380. X-Last-Updated: 1992/12/09
  381.  
  382. Archive-name: unix-faq/faq/part6
  383. Version: $Id: part6,v 2.1 92/12/04 07:43:57 tmatimar Exp $
  384.  
  385. These seven articles contain the answers to some Frequently Asked
  386. Questions often seen in comp.unix.questions and comp.unix.shell.
  387. Please don't ask these questions again, they've been answered plenty
  388. of times already - and please don't flame someone just because they may
  389. not have read this particular posting.  Thank you.
  390.  
  391. These articles are divided approximately as follows:
  392.  
  393.       1.*) General questions.
  394.       2.*) Relatively basic questions, likely to be asked by beginners.
  395.       3.*) Intermediate questions.
  396.       4.*) Advanced questions, likely to be asked by people who thought
  397.        they already knew all of the answers.
  398.       5.*) Questions pertaining to the various shells, and the differences.
  399.       6.*) An overview of Unix variants.
  400.       7.*) An comparison of configuration management systems (RCS, SCCS).
  401.  
  402. This article includes answers to:
  403.  
  404.       6.1)  Disclaimer and introduction.
  405.       6.2)  A very brief look at Unix history.
  406.       6.3)  Main Unix flavors.
  407.       6.4)  Unix Standards.
  408.       6.5)  Identifying your Unix flavor.
  409.       6.6)  Brief notes on some well-known (commercial/PD) Unices.
  410.       6.7)  Real-time Unices.
  411.       6.8)  Unix glossary.
  412.       6.9)  Acknowledgements.
  413.  
  414. If you're looking for the answer to, say, question 6.5, and want to skip
  415. everything else, you can search ahead for the regular expression "^6.5)".
  416.  
  417. While these are all legitimate questions, they seem to crop up in
  418. comp.unix.questions or comp.unix.shell on an annual basis, usually
  419. followed by plenty of replies (only some of which are correct) and then
  420. a period of griping about how the same questions keep coming up.  You
  421. may also like to read the monthly article "Answers to Frequently Asked
  422. Questions" in the newsgroup "news.announce.newusers", which will tell
  423. you what "UNIX" stands for.
  424.  
  425. With the variety of Unix systems in the world, it's hard to guarantee
  426. that these answers will work everywhere.  Read your local manual pages
  427. before trying anything suggested here.  If you have suggestions or
  428. corrections for any of these answers, please send them to to
  429. tmatimar@empress.com.
  430.  
  431. 6.1)  Disclaimer and introduction.
  432.  
  433.       From: "Pierre (P.) Lewis" <lew@bnr.ca>
  434.       Date: Sun, 11 Oct 1992 15:29:00 +0000
  435.       Version: 2.0
  436.  
  437.       The following is offered with no guarantee as to accuracy or
  438.       completeness.  I have done what I can in the time available and
  439.       it still is very much work in progress.  I hope to keep improving
  440.       this summary.  Comments welcome:  lew@bnr.ca.  Acknowledgements
  441.       at the end.
  442.  
  443.       First a short definition.  By Unix we mean an operating system
  444.       typically written in C, with a hierarchical file system,
  445.       integration of file and device I/O, whose system call interface
  446.       includes services such as fork(), pipe(), and whose user
  447.       interface includes tools such as cc, troff, grep, awk, and a
  448.       choice of shell.  Note that UNIX is a registered trademark of USL
  449.       (AT&T), but will be used here in its generic sense.
  450.  
  451.       Most Unices (the more common plural form) are derived more or
  452.       less directly from AT&T code (some code from the first C version
  453.       is presumably still left in most), but there are also clones
  454.       (i.e. Unix-compatible systems with no AT&T code).
  455.  
  456.       In addition, there are also Unix-like environments (e.g. VOS)
  457.       sitting on top of other OSs, and OSs inspired from Unix (yes,
  458.       even DOS!).  These are not covered here.  Little on real-time
  459.       Unices yet (although more is planned).
  460.  
  461.       Unix comes in an incredible variety of flavors.  This is to a
  462.       large extent due to availability of sources and the ease of
  463.       porting and modifying Unix.  Typically, a vendor of Unix will
  464.       start with one basic flavor (see below), take ideas/code from the
  465.       other major flavor, add and change many things, etc.  This
  466.       results in yet another new Unix flavor.  Today, there are
  467.       literally hundreds of Unices available, the closest thing to
  468.       standard Unix being (by definition) System V.
  469.  
  470.       This answer was put together mostly from information on the net
  471.       and email.  Some specific sources are also mentioned in the
  472.       appropriate sections.
  473.  
  474. 6.2)  A very brief look at Unix history.
  475.  
  476.       From: "Pierre (P.) Lewis" <lew@bnr.ca>
  477.       Date: Sun, 11 Oct 1992 15:29:00 +0000
  478.       Version: 2.0
  479.  
  480.       Unix history goes back to 1969 and the famous "little-used PDP-7
  481.       in a corner" on which Ken Thompson, Dennis Ritchie (the R in K&R)
  482.       and others started work on what was to become Unix.  The name
  483.       "Unix" was intended as a pun on Multics (and was written "Unics"
  484.       at first -- UNiplexed Information and Computing System).
  485.  
  486.       For the first 10 years, Unix development was essentially confined
  487.       to Bell Labs.  These initial versions were labeled "Version n" or
  488.       "Nth Edition" (of the manuals), and were for DEC's PDP-11 (16
  489.       bits) and later VAXen (32 bits).  Some significant versions
  490.       include:
  491.  
  492.       V1 (1971):  1st Unix version, in assembler on a PDP-11/20.
  493.      Included file system, fork(), roff, ed.  Was used as a text
  494.      processing tool for preparation of patents.  Pipe() appeared
  495.      first in V2!
  496.  
  497.       V4 (1973):  Rewritten in C, which is probably the most
  498.      significant event in this OS's history: it means Unix can be
  499.      ported to a new hardware in months, and changes are easy.  The
  500.      C language was originally designed for the Unix operating
  501.      system, and hence there is a strong synergy between C and Unix.
  502.  
  503.       V6 (1975):  First version of Unix widely available outside
  504.      Bell Labs (esp.  in universities).  This was also the start of
  505.      Unix diversity and popularity.  1.xBSD (PDP-11) was derived
  506.      from this version.  J. Lions published "A commentary on the
  507.      Unix Operating System" based on V6.
  508.  
  509.       V7 (1979):  For many, this is the "last true Unix", an
  510.      "improvement over all preceding and following Unices"
  511.      [Bourne].  It included full K&R C, uucp, Bourne shell.  V7 was
  512.      ported to the VAX as 32V.  The V7 kernel was a mere 40
  513.      Kbytes!
  514.  
  515.          Here (for reference) the system calls of V7:
  516.         _exit, access, acct, alarm, brk, chdir, chmod, chown,
  517.         chroot, close, creat, dup, dup2, exec*, exit, fork, fstat,
  518.         ftime, getegid, geteuid, getgid, getpid, getuid, gtty,
  519.         indir, ioctl, kill, link, lock, lseek, mknod, mount,
  520.         mpxcall, nice, open, pause, phys, pipe, pkoff, pkon,
  521.         profil, ptrace, read, sbrk, setgid, setuid, signal, stat,
  522.         stime, stty, sync, tell, time, times, umask, umount,
  523.         unlink, utime, wait, write.
  524.  
  525.       These Vn versions were developed by the Computer Research Group
  526.       (CRG) of Bell Labs.  Another group, the Unix System Group (USG),
  527.       was responsible for support.  A third group at Bell Labs was also
  528.       involved in Unix development, the Programmer's WorkBench (PWB),
  529.       to which we owe, for example, sccs, named pipes and other
  530.       important ideas.  Both groups were merged into Unix System
  531.       Development Lab in 1983.
  532.  
  533.       Work on Unix continued at Bell Labs in the 1980s.  The V series
  534.       was further developed by the CRG (Stroustrup mentions V10 in the
  535.       2nd edition of his book on C++), but we don't seem to hear much
  536.       about this otherwise.  The company now responsible for Unix
  537.       (System V) is called Unix System Laboratories (USL) and is
  538.       majority-owned by AT&T.
  539.  
  540.       But much happened to Unix outside AT&T, especially at Berkeley
  541.       (where the other major flavor comes from).  Vendors (esp. of
  542.       workstations) also contributed much (e.g. Sun's NFS).
  543.  
  544.       The book "Life with Unix" by Don Libes and Sandy Ressler is
  545.       fascinating reading for anyone interested in Unix, and covers a
  546.       lot of the history, interactions, etc..  Much in the present
  547.       section is summarized from this book.
  548.  
  549. 6.3)  Main Unix flavors.
  550.  
  551.       From: "Pierre (P.) Lewis" <lew@bnr.ca>
  552.       Date: Sun, 11 Oct 1992 15:29:00 +0000
  553.       Version: 2.0
  554.  
  555.       Until recently, there were basically two main flavors of Unix:
  556.       System V (five) from AT&T, and the Berkeley Software Distribution
  557.       (BSD).  SVR4 is essentially a merge of these two flavors.  End
  558.       '91, OSF/1 from the Open Software Foundation was released (as a
  559.       direct competitor to System V) and may (future will tell) change
  560.       this picture.
  561.  
  562.       The following lists the main releases and features of System V,
  563.       BSD and OSF/1.
  564.  
  565.       System V from AT&T.  Typical of Intel hardware.  Most often
  566.      ported Unix, typically with BSD enhancements (csh, job
  567.      control, termcap, curses, vi, symbolic links).  System V
  568.      evolution is now overseen by Unix International (UI).  UI
  569.      members include AT&T, Sun, ....
  570.      Newsgroup: comp.unix.sysv[23]86.  Main releases:
  571.  
  572.          - System III (1982): first commercial Unix from AT&T
  573.            - FIFOs (named pipes)  (later?)
  574.  
  575.          - System V (1983):
  576.            - IPC package (shm, msg, sem)
  577.  
  578.          - SVR2 (1984):
  579.            - shell functions (sh)
  580.            - SVID (System V Interface Definition)
  581.  
  582.          - SVR3 (1986) for ? platforms:
  583.            - STREAMS (inspired by V8), poll(), TLI (network software)
  584.            - RFS
  585.            - shared libs
  586.            - SVID 2
  587.            - demand paging (if hardware supports)
  588.  
  589.          - SVR3.2:
  590.            - merge with Xenix (Intel 80386)
  591.            - networking
  592.  
  593.          - SVR4 (1988), mainstream of Unix implementations, merge of
  594.        System V, BSD, and SunOS.
  595.            - From SVR3: sysadmin, terminal I/F, printer (from BSD?),
  596.          RFS, STREAMS, uucp
  597.            - From BSD: FFS, TCP/IP, sockets, select(), csh
  598.            - From SunOS: NFS, OpenLook GUI, X11/NeWS, virtual memory
  599.          subsystem with memory-mapped files, shared libraries
  600.          (!= SVR3 ones?)
  601.            - ksh
  602.            - ANSI C
  603.            - Internationalization (8-bit clean)
  604.            - ABI (Application Binary Interface -- routines instead of traps)
  605.            - POSIX, X/Open, SVID3
  606.  
  607.          - SVR4.1
  608.            - async I/O (from SunOS?)
  609.  
  610.          - SVR4.2 (based on SVR4.1ES)
  611.            - Veritas FS, ACLs
  612.            - Dynamically loadable kernel modules
  613.  
  614.          - Future:
  615.            - SVR4 MP (multiprocessor)
  616.            - Use of Chorus microkernel?
  617.  
  618.       Berkeley Software Distribution (BSD).  Typical of VAXen, RISCs,
  619.      many workstations.  More dynamic, research versions now than
  620.      System V.  BSD is responsible for much of the popularity of
  621.      Unix.  Most enhancements to Unix started here.  The group
  622.      responsible at UCB (University of California at Berkeley) is
  623.      the Computer System Research Group (CSRG).  They closed down
  624.      in 1992.  Newsgroup: comp.unix.bsd.  Main releases:
  625.  
  626.          (much reorganized wrt dates and releases, hope it's converging)
  627.  
  628.          - 2.xBSD (1978) for PDP-11, still of significance? (2.11BSD
  629.        was released in 1992!).
  630.            - csh
  631.  
  632.          - 3BSD (1978):
  633.            - virtual memory
  634.  
  635.          - 4.?BSD:
  636.            - termcap, curses
  637.            - vi
  638.  
  639.          - 4.0BSD (1980):
  640.  
  641.          - 4.1BSD (?): base of later AT&T CRG versions
  642.            - job control
  643.            - automatic kernel config
  644.            - vfork()
  645.  
  646.          - 4.2BSD (1983):
  647.            - TCP/IP, sockets, ethernet
  648.            - UFS: long file names, symbolic links
  649.            - new reliable signals (4.1 reliable signals now in SVR3)
  650.            - select()
  651.  
  652.          - 4.3BSD (1986) for VAX, ?:
  653.          - 4.3 Tahoe (1988): 4.3BSD with sources, support for Tahoe
  654.        (32-bit supermini)
  655.            - Fat FFS
  656.            - New TCP algorithms
  657.          - 4.3 Reno (1990) for VAX, Tahoe, HP 9000/300:
  658.            - most of P1003.1
  659.            - NFS (from Sun)
  660.            - MFS (memory file system)
  661.            - OSI: TP4, CLNP, ISODE's FTAM, VT and X.500;  SLIP
  662.            - Kerberos
  663.  
  664.          - 4.4BSD (will we ever see it?) for HP 9000, Sparc, 386, DEC, Tahoe:
  665.            - new FS organization, new process internals, new virtual
  666.          memory based on Mach 2.5
  667.            - POSIX compatibility
  668.            - OSI (based on ISODE), X.25
  669.  
  670.       The Open Software Foundation (OSF) released its Unix called OSF/1
  671.      end of 1991.  Still requires an SVR2 license.
  672.      Compatible/compliant with SVID 2 (and 3 coming), POSIX,
  673.      X/Open, etc..  OSF members include Apollo, Dec, HP, IBM, ....
  674.  
  675.          - OSF/1 (1991):
  676.            - based on Mach 2.5 kernel
  677.            - symmetric multiprocessing, parallelized kernel, threads
  678.            - logical volumes, disk mirroring, UFS (native), S5 FS, NFS
  679.            - enhanced security (B1 with some B2, B3; or C2), 4.3BSD admin
  680.            - STREAMS, TLI/XTI, sockets
  681.            - shared libs, dynamic loader (incl. kernel)
  682.            - Motif GUI
  683.